In processor bus design, two types of electric interface protocols are typically used. When a bus is configured according to a single-ended protocol, a single wire, or line, is needed for each bit which is transmitted on the bus. The wires are referenced to a common ground. A signal is considered "active" if the voltage measured on the line is greater than (or less than, in the case of negative active logic) a certain voltage level, as measured with respect to ground. The signal is considered "inactive" if the voltage measured on the line is less than (or greater than, in the case of negative active logic) a certain different voltage level, as measured with respect to ground. When a bus is configured according to a differential protocol, two wires, or lines, are used. One line transmits the normal signal (e.g., V) and the other line transmits a logically inverted version of the signal (e.g., V). A differential receiver subtracts the inverted signal from the normal signal, thus canceling out any common mode noise induced in the lines, on the assumption that the same level of noise has been introduced into both lines.
A differential protocol provides better noise immunity than a single-ended protocol, and thus is typically used when driving long line lengths in electrically noisy environments. The disadvantage of using a differential-mode bus is that it requires twice as many signal lines as a single-ended bus. A system may be designed with the assumption that a differential bus is required. In the actual system environment, it may turn out that the environment is not as noisy as initially anticipated. Therefore, the differential-mode bus is not needed for noise immunity, and the extra signal lines are unnecessary. If it is determined that the differential-mode bus is not needed, it is not possible to change the bus to be configured as a single-ended bus.
Conversely, a system may be designed with the assumption that a single-ended bus is required. In the actual system environment, it may turn out that the system is not functioning correctly, due to noise in the environment. If it is determined that a differential-mode bus is desirable, rather than a single-ended bus, it is not possible to change the bus configuration.
Consequently, it would be desirable to have a method and apparatus for configuring a bus as either a single-ended mode bus or as a differential mode bus, depending on the system environment. It would also be desirable to configure the bus in such a way that additional lines are not required, and so that substantially the same circuitry may be used for either single-ended mode or differential mode. It would further be desirable to allow a selectable-mode driver to be connected to a non-selectable mode receiver, and vice versa.